/**
 * 自然数数和；1+2+3+...n
 * @param n 
 * @returns 
 */
export IntegerSum = (N: number) => n * (n + 1) / 2;

/**
 * 自然数奇数和；1+3+5+...(2n-1)
 * @param n 
 * @returns 
 */
export oddSum = (n: number) => n * n;

/**
 * 自然数偶数和；2+4+6+...2n
 * @param n 
 * @returns 
 */
export evenSum = (n: number) => (n + 1) * n;

/**
 * 自然数平方和；1(2)+2(2)+3(2)+...n*n
 * @param n 
 * @returns 
 */
export const squaresSum = (n: number) => n * (n + 1) * (2 * n + 1) / 6;

/**
 * 自然数立方和；1(3)+2(3)+3(3)+...n*n*n
 * @param n 
 * @returns 
 */
export const cubesSum = (n: number) => n * n * (n + 1)*(n + 1) / 4;
